from unittest import TestCase, skip

from algo.rapid import get_largest_rapidly_increasing


class TestRapid(TestCase):
    def test_get_largest_rapidly_increasing_empty(self):
        foo = []
        expected = []
        result = get_largest_rapidly_increasing(foo)
        self.assertEqual(result, expected)

    def test_get_largest_rapidly_increasing_trivial(self):
        foo = [1]
        expected = [1]
        result = get_largest_rapidly_increasing(foo)
        self.assertEqual(result, expected)

    @skip("broken")
    def test_get_largest_rapidly_increasing_subgoal(self):
        foo = [4, 8, 9, 16]
        expected = [4, 8, 16]
        result = get_largest_rapidly_increasing(foo)
        self.assertEqual(result, expected)

    @skip("broken")
    def test_get_largest_rapidly_increasing_goal(self):
        foo = [3, 2, 5, 4, 6, 10, 1]
        expected = [2, 5, 10]
        result = get_largest_rapidly_increasing(foo)
        self.assertEqual(result, expected)
